-- @Author: 作者QQ381990860
-- @Date:   2021-11-05 10:34:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-23 06:59:04

local 商会物品管理 = class()
local tp,zts,zts1
local insert = table.insert
local tos = 引擎.取金钱颜色
local mouseb = 引擎.鼠标弹起
function 商会物品管理:初始化(根)
  self.ID = 144
  self.x = 0
  self.y = 0
  self.xx = 0
  self.yy = 0
  self.注释 = "商会物品管理"
  self.可视 = false
  self.鼠标 = false
  self.焦点 = false
  self.可移动 = true
  local 资源 = 根.资源
  local 按钮 = 根._按钮
  local 自适应 = 根._自适应
  tp = 根
  self.资源组 = {
  [1] = 自适应.创建(0,1,588,429,3,9),
  [2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),
  [3] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"改名"),
  [4] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"上间"),
  [5] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"下间"),
  [6] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"上柜"),
  [7] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"更改宗旨"),

  [12] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"出售登记"),
  [13] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"扩张柜台"),
  [14] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"取出资金"),
  [15] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"暂停营业"),
  [16] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"放回身上"),
  [17] = 自适应.创建(3,1,10,18,1,3),
  [18] =  自适应.创建(2,1,257,75,3,9),
  }

  for n=2,7 do
     self.资源组[n]:绑定窗口_(144)
  end
  for n=12,16 do
     self.资源组[n]:绑定窗口_(144)
  end
  self.玩家道具={}
  self.玩家选中=0
  self.商会道具={}
  self.商会选中=0
  self.窗口时间 = 0
  zts = tp.字体表.普通字体
  zts1 = tp.字体表.描边字体
  self.上一次 = 1
  self.上一次1 = 1

  self.控件类 = require("ggeui/加载类")()
  local 总控件 = self.控件类:创建控件('商店总控件')
  总控件:置可视(true,true)
  self.上柜银两输入=总控件:创建输入("数量输入11",self.x + 190,self.y + 379,100,14)
  self.上柜银两输入:置数字模式()
  self.上柜银两输入:置限制字数(9)
  self.上柜银两输入:置文字颜色(0xFF000000)
  self.上柜银两输入:置可视(false,false)
  self.商铺宗旨输入=总控件:创建输入("数量输入22",self.x +429,self.y + 92,245,16)
  self.商铺宗旨输入:置可视(false,false)
  self.商铺宗旨输入:置限制字数(34)
  self.商铺宗旨输入:置文字颜色(0xFF000000)
  self.商铺改名输入=总控件:创建输入("数量输入33",self.x +158,self.y + 85,109,16)
  self.商铺改名输入:置可视(false,false)
  self.商铺改名输入:置限制字数(14)
  self.商铺改名输入:置文字颜色(0xFF000000)
end

function 商会物品管理:打开(数据)
  if  self.可视 then
    self.可视 = false
    self.玩家道具={}
    self.玩家选中=0
    self.商会道具={}
    self.商会选中=0
      self.上一次 = 1
      self.上一次1 = 1
  else

  if  self.x > 全局游戏宽度 then
  self.x = 0
  end
  self.玩家道具={}
  self.玩家选中=0
  self.商会道具={}
  self.商会选中=0
    self.上一次 = 1
    self.上一次1 = 1
    insert(tp.窗口_,self)
  self.店铺信息=数据
  self.当前店面=1
     self.物品数据={}
    self.物品数据1={}
  local 物品格子 = tp._物品格子
  for i=1,20 do
    self.物品数据[i] = 物品格子(0,i,n,"商店1")
    self.物品数据1[i] = 物品格子(0,i,n,"商店2")
  end
 self.商铺改名输入:置文本(self.店铺信息.店名)
 self.商铺改名输入:置可视(true,"商铺改名输入")
 self.商铺宗旨输入:置文本(self.店铺信息.宣言)
 self.商铺宗旨输入:置可视(true,"商铺改名输入")
  if self.店铺信息.营业==false then
  self.资源组[15]:置文字("开始营业")
  else
  self.资源组[15]:置文字("暂停营业")
  end

    tp.运行时间 = tp.运行时间 + 3
    self.窗口时间 = tp.运行时间
    self.可视 = true
  end
end
function 商会物品管理:刷新柜台道具(数据)
    self.上一次 = 1
    self.上一次1 = 1
 self.当前店面=数据.类型
 self.商会选中=0

  for n=1,20 do
      self.物品数据1[n]:置物品(nil)
      self.物品数据1[n].价格=nil
      self.物品数据1[n].状态=nil
        if 数据[n]~=nil then
         self.物品数据1[n]:置物品(数据[n].道具)
         self.物品数据1[n].价格=数据[n].价格
         self.物品数据1[n].状态=数据[n].状态
       end
    end

 end
function 商会物品管理:刷新玩家道具(数据)
    self.上一次 = 1
    self.上一次1 = 1
 self.当前类型="包裹"
 self.玩家选中=0
  for n=1,20 do
        self.物品数据[n]:置物品(数据[n])
    end
 end
function 商会物品管理:显示(dt,x,y)
    self.商铺改名输入:置坐标(self.x,self.y)
  self.上柜银两输入:置坐标(self.x,self.y)
  self.商铺宗旨输入:置坐标(self.x,self.y)
 self.资源组[3]:更新(x,y)
 self.资源组[4]:更新(x,y)
 self.资源组[5]:更新(x,y)
 self.资源组[6]:更新(x,y)
 self.资源组[2]:更新(x,y)
 self.焦点=false
 self.资源组[12]:更新(x,y)
 self.资源组[13]:更新(x,y)
 self.资源组[16]:更新(x,y)
 self.资源组[15]:更新(x,y)
 self.资源组[7]:更新(x,y)
 self.资源组[14]:更新(x,y)

  if self.资源组[2]:事件判断() then
    self:打开()
  elseif self.资源组[3]:事件判断() then
    if self.商铺改名输入:取文本()=="" then
    tp.提示:写入("#y/请先取个店名")
    else
    客户端:发送数据(983,121,36,self.商铺改名输入:取文本(),1)
    end
  elseif self.资源组[7]:事件判断() then
    if self.商铺宗旨输入:取文本()=="" then
    tp.提示:写入("#y/宗旨总不能什么话都没有吧")
    else
    客户端:发送数据(761,122,36,self.商铺宗旨输入:取文本(),1)
    end
  elseif self.资源组[13]:事件判断() then
    客户端:发送数据(275,123,36,"8A",1)
     self:打开()
  elseif self.资源组[12]:事件判断() then
    if self.玩家选中==0 then
    tp.提示:写入("#y/请先选中一个道具")
    else
      self.物品数据[self.玩家选中].确定 = false
    客户端:发送数据(self.玩家选中,124,36,self.当前店面,1)
    end
  elseif self.资源组[6]:事件判断() then
      if self.商会选中==0 then
      tp.提示:写入("#y/请先选中一个道具")
      elseif self.上柜银两输入:取文本()=="" or self.上柜银两输入:取文本()+0<1 then
      tp.提示:写入("#y/请先输入价格")
      else
        self.物品数据1[self.商会选中].确定 = false
      客户端:发送数据(self.商会选中,self.当前店面,37,self.上柜银两输入:取文本(),1)
      end
  elseif self.资源组[16]:事件判断() then
      if self.商会选中==0 then
      tp.提示:写入("#y/请先选中一个道具")
      else
      self.物品数据1[self.商会选中].确定 = false
      客户端:发送数据(self.商会选中,125,36,self.当前店面,1)
      end
  elseif self.资源组[15]:事件判断() then
      客户端:发送数据(87842,126,36,"1",1)
  elseif self.资源组[4]:事件判断() then
      客户端:发送数据(1,127,36,self.当前店面,1)
  elseif self.资源组[5]:事件判断() then
      客户端:发送数据(1,128,36,self.当前店面,1)
  elseif self.资源组[14]:事件判断() then
      客户端:发送数据(1,129,36,"1",1)
  end
 self.资源组[1]:显示(self.x+100,self.y+50)
 tp.物品格子背景_:显示(self.x+115,self.y+162)
 tp.物品格子背景_:显示(self.x+420,self.y+207)

  tp.窗口标题背景_:显示(self.x+322,self.y+50)
  zts1:显示(self.x+394-45,self.y+51,"商会物品管理")

 self.资源组[18]:显示(self.x+423,self.y+78,true)
  self.资源组[17]:置宽高(120,18)
  self.资源组[17]:显示(self.x+150,self.y+83,true)
  self.资源组[17]:置宽高(50,18)
  self.资源组[17]:显示(self.x+330,self.y+108,true)
  self.资源组[17]:显示(self.x+147,self.y+448,true)

  self.资源组[17]:置宽高(100,18)
  self.资源组[17]:显示(self.x+180,self.y+135,true)

  self.资源组[17]:置宽高(80,18)
  self.资源组[17]:显示(self.x+328,self.y+135,true)
  self.资源组[17]:置宽高(85,18)
  self.资源组[17]:显示(self.x+510,self.y+160,true)
  self.资源组[17]:显示(self.x+510,self.y+185,true)

  self.资源组[17]:置宽高(110,18)
  self.资源组[17]:显示(self.x+180,self.y+377,true)

  self.资源组[17]:置宽高(200,18)
  self.资源组[17]:显示(self.x+460,self.y+421,true)


 zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+85,"店名")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+110,"开店日期")
 zts:置颜色(0xFFFFFFFF):显示(self.x+295,self.y+110,"类型")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+137,"店主名称")
  zts:置颜色(0xFFFFFFFF):显示(self.x+290,self.y+137,"ID 号")

  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+379,"出售单价")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+403,"商业指数")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+425,"交易税率")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+450,"店面")

  zts:置颜色(0xFFFFFFFF):显示(self.x+422,self.y+162,"基础运营资金")
  zts:置颜色(0xFFFFFFFF):显示(self.x+422,self.y+187,"日常运营资金")
  zts:置颜色(0xFFFFFFFF):显示(self.x+423,self.y+423,"现金")

 zts:置颜色(0xFFFFFFFF):显示(self.x+189,self.y+110,self.店铺信息.创店日期)
 zts:置颜色(tos(self.店铺信息.现金+0)):显示(self.x+468,self.y+424,self.店铺信息.现金)
 zts:置颜色(0xFFFFFFFF):显示(self.x+185,self.y+403,"0%")
 zts:置颜色(0xFFFFFFFF):显示(self.x+185,self.y+424,"10%")
 zts:置颜色(0xFF000000):显示(self.x+333,self.y+110,self.店铺信息.类型.."店")
 zts:置颜色(0xFF000000):显示(self.x+186,self.y+137,self.店铺信息.店主名称)
 zts:置颜色(0xFF000000):显示(self.x+334,self.y+138,self.店铺信息.店主id)
 zts:置颜色(0xFF000000):显示(self.x+513,self.y+162,self.店铺信息.基础运营资金)
 zts:置颜色(0xFF000000):显示(self.x+513,self.y+187,self.店铺信息.日常运营资金)
 zts:置颜色(0xFF000000):显示(self.x+157,self.y+450,self.当前店面.."/"..self.店铺信息.店面)

 self.资源组[3]:显示(self.x+300,self.y+82,true)
 self.资源组[4]:显示(self.x+200,self.y+446,true)
 self.资源组[5]:显示(self.x+250,self.y+446,true)
 self.资源组[6]:显示(self.x+315,self.y+375,true)
 self.资源组[2]:显示(self.x+669,self.y+53,true)

 self.资源组[16]:显示(self.x+300,self.y+413,true)
 self.资源组[13]:显示(self.x+300,self.y+446,true)

 self.资源组[12]:显示(self.x+436,self.y+448,true)
 self.资源组[15]:显示(self.x+556,self.y+448,true)
 self.资源组[7]:显示(self.x+605,self.y+159,true)
 self.资源组[14]:显示(self.x+605,self.y+184,true)

self.控件类:更新(dt,x,y)
self.控件类:显示(x,y)
  if self.商铺改名输入._已碰撞 or self.上柜银两输入._已碰撞 or self.商铺宗旨输入._已碰撞 then
    self.焦点 = true
  end

  self:玩家道具显示(dt,x,y)
  self:柜台道具显示(dt,x,y)
end

function 商会物品管理:玩家道具显示(dt,x,y)
  local xx = 0
  local yy = 0
    for i=1,20 do
      self.物品数据[i]:置坐标(self.x + xx * 51 + 421,self.y + yy * 51 + 205)
      self.物品数据[i]:显示(dt,x,y,self.鼠标)
      if self.物品数据[i].物品 ~= nil and self.物品数据[i].焦点 then
        tp.提示:道具行囊(x,y,self.物品数据[i].物品,true)
        if mouseb(0) then
            self.物品数据[self.上一次].确定 = false
            self.物品数据[i].确定 = true
            self.上一次 = i
            self.玩家选中=i

        end
        if mouseb(1) then
           if self.玩家选中~=0 then
            self.物品数据[self.玩家选中].确定 = false
           end
          客户端:发送数据(i,124,36,self.当前店面,1)
        end
      end
      xx = xx + 1
      if xx == 5 then
        xx = 0
        yy = yy + 1
      end
    end

 end



function 商会物品管理:柜台道具显示(dt,x,y)
  local xx = 0
  local yy = 0
    for i=1,20 do
      if self.物品数据1[i].状态 then
         self.物品数据1[i].物品.小模型:灰度级()
       end
      self.物品数据1[i]:置坐标(self.x + xx * 51 + 115,self.y + yy * 51 + 160)
      self.物品数据1[i]:显示(dt,x,y,self.鼠标)
       if self.物品数据1[i].状态 then
        zts1:置颜色(0xFFFF0000):显示(self.x+109+xx*51+10,self.y+160+yy*51+30,"出售中")
      elseif self.物品数据1[i].物品 then
        zts1:置颜色(0xFF00FF00):显示(self.x+109+xx*51+10,self.y+160+yy*51+30,"待售中")
       end
      if self.物品数据1[i].物品 ~= nil and self.物品数据1[i].焦点 then
        tp.提示:道具行囊(x,y,self.物品数据1[i].物品,true)
        if mouseb(0) then
            self.物品数据1[self.上一次1].确定 = false
            self.物品数据1[i].确定 = true
            self.上一次1 = i
            self.商会选中=i
            self.上柜银两输入:置可视(true,true)
            self.上柜银两输入:置文本(self.物品数据1[i].价格)
              if self.物品数据1[i].状态 then
                      self.资源组[6]:置文字("下柜")
              else
                  self.资源组[6]:置文字("上柜")
             end
        end
      end
      xx = xx + 1
      if xx == 5 then
        xx = 0
        yy = yy + 1
      end
    end

 end









function 商会物品管理:检查点(x,y)
  if self.资源组[1]:是否选中(x,y)  then
    return true
  end
end

function 商会物品管理:初始移动(x,y)
  tp.运行时间 = tp.运行时间 + 1
  self.窗口时间 = tp.运行时间
  if not self.焦点 then
    tp.移动窗口 = true
  end
  if self.鼠标 and  not self.焦点 then
    self.xx = x - self.x
    self.yy = y - self.y
  end
end

function 商会物品管理:开始移动(x,y)
  if self.鼠标 then
    self.x = x - self.xx
    self.y = y - self.yy
  end
end



return 商会物品管理